home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / AppleSearch / Macintosh / ASClient Update SDK / UpdateSDK / Headers / ASUpdateDCUtilities.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-19  |  3.5 KB  |  82 lines  |  [TEXT/MPS ]

  1.  
  2. /*===============================================================================================================
  3.  
  4.         ASUpdateDCUtilities.h
  5.     
  6.         Copyright Apple Computer, Inc. 1992-1993
  7.         All rights reserved
  8.  
  9. ===============================================================================================================*/
  10.  
  11. #ifndef __ASUPDATEDCUTILITIES__
  12. #define __ASUPDATEDCUTILITIES__
  13.  
  14. //_______________________________________________________________________________________________________________
  15. //____________________________________________________ INCLUDES _________________________________________________
  16. //_______________________________________________________________________________________________________________
  17.  
  18. #include <Files.h>
  19.  
  20. #ifndef __ASUPDATETYPES__
  21. #include "ASUpdateTypes.h"
  22. #endif                                                
  23.  
  24. #ifndef __ASUPDATECONSTANTS__
  25. #include "ASUpdateConstants.h"
  26. #endif                                                
  27.  
  28. //_______________________________________________________________________________________________________________
  29. //_____________________________________________________ STRUCTS _________________________________________________
  30. //_______________________________________________________________________________________________________________
  31.  
  32. struct ASUDCHeader {
  33.     ASUDataSize        dataContainerSize;
  34.     ASUDCType        dataContainerType;
  35.     long            dataContainerID;
  36.     long            userRefCon;
  37. };
  38. typedef struct ASUDCHeader ASUDCHeader, *ASUDCHeaderPtr;
  39.  
  40. //_______________________________________________________________________________________________________________
  41. //_______________________________________________ FUNCTION PROTOTYPES ___________________________________________
  42. //_______________________________________________________________________________________________________________
  43. #ifdef __cplusplus
  44. extern "C" {
  45. #endif
  46.  
  47. // read/write routines
  48.  
  49. OSErr    ASUAddDataContainer( short refnum, ASUDCHeaderPtr info, ASUCount count, Ptr data, ASUDCPtr *dc );
  50. OSErr    ASUDeleteDataContainer( short refnum, ASUDCPtr dc );
  51.  
  52. OSErr    ASUReadDataContainerHeader( short refnum, ASUDCPtr dc, ASUDCHeaderPtr info );
  53. OSErr    ASUWriteDataContainerHeader( short refnum, ASUDCPtr dc, ASUDCHeaderPtr info );
  54.  
  55. OSErr    ASUReadDataContainerData( short refnum, ASUDCPtr dc, ASUOffset start, Ptr data, ASUDataSize* size );
  56. OSErr    ASUWriteDataContainerData( short refnum, ASUDCPtr dc, ASUOffset start, Ptr data, ASUDataSize size );
  57.  
  58. //_______________________________________________________________________________________________________________
  59. // searching routines
  60.  
  61. OSErr    ASUCountDataContainers( short refnum, ASUDCType type, ASUCount* count );
  62. OSErr    ASUFindDataContainer( short refnum, ASUDCType type, ASUDCPtr start, ASUDCPtr *dc );
  63. OSErr    ASUFindDataContainerByID( short refnum, ASUDCType type, long id, ASUDCPtr start, ASUDCPtr *dc );
  64.  
  65. OSErr    ASUGetDataContainerSize( short refnum, ASUDCPtr dc, ASUDataSize* size );
  66. OSErr    ASUGetDataContainerType( short refnum, ASUDCPtr dc, ASUDCType* type );
  67. OSErr    ASUGetDataContainerID( short refnum, ASUDCPtr dc, long* id );
  68. OSErr    ASUGetDataContainerUserRefCon( short refnum, ASUDCPtr dc, long* userRefCon );
  69.  
  70. //_______________________________________________________________________________________________________________
  71. // convenience routines
  72.  
  73. OSErr    ASUSerializeDataContainerIDs( short refnum, ASUDCType type, ASUCount *count );
  74. OSErr    ASULinkDataContainers( short refnum, ASUDCType type, ASUDCPtr head );
  75.  
  76. //_______________________________________________________________________________________________________________
  77.  
  78. #ifdef __cplusplus
  79. }
  80. #endif
  81.  
  82. #endif                                                            // __NPNEWSPAPERUTILITIES__